package com.lean.android.ad.repository

import com.lean.android.network.Result
import com.lean.android.ad.repository.model.AdSwitchInfo
import kotlinx.coroutines.flow.Flow

internal interface AdRepository {


    fun loadAdInfo(): Flow<Result<AdSwitchInfo>>


    suspend fun reportAdEvent(
        requestId: String,
        eventType: ReportHelper.AdEventType,
        platformId: String,
        adPosition: ReportHelper.AdPositionType,
        cpm: Int,
        errorCode: String
    ): Result<Any>


    suspend fun reportAppDuration(
        duration: Long
    ): Result<Any>

}